home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / misc / FlexCat_Demos.lha / FlexCat_Demos / Sources / HSPascal / Init_Libs.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-08-18  |  2.3 KB  |  95 lines

  1. Unit Init_Libs;
  2.  
  3. INTERFACE
  4.  
  5. Uses
  6.  
  7.     Exec , Graphics , Intuition , Gadtools , Asl , Utility , Amiga ;
  8.  
  9.  
  10. IMPLEMENTATION
  11.  
  12. const
  13.     
  14.     DELAY_REQ = 2000;
  15.     LIB_VER = 36;
  16.  
  17. var
  18.  
  19.     OldExitProc : Pointer;    
  20.  
  21. (***************************************************************************)
  22. (*                       << UTILITY FUNCTION  >>                           *)
  23. (***************************************************************************)
  24.  
  25. Procedure Error( s :string );
  26. begin
  27.     writeln(s);
  28.     Delay( DELAY_REQ );
  29.     halt
  30. end;
  31.  
  32. Procedure InitPointerLibs;
  33. begin
  34.     GadToolsBase := NIL ;
  35.     AslBase := NIL ;
  36.     GfxBase := NIL ;
  37.     IntuitionBase := NIL ;
  38.     UtilityBase := NIL ;
  39. end;
  40.  
  41. (***************************************************************************)
  42. (*                       <<  FUNCTION  >>                                  *)
  43. (***************************************************************************)
  44.  
  45. Procedure InitFunction;
  46. begin
  47.     IntuitionBase := pIntuitionBase( OpenLibrary( 'intuition.library',LIB_VER ) );
  48.     if IntuitionBase = NIL then Error( 'intuition.library ');
  49.  
  50.     GfxBase := pGfxBase( OpenLibrary( 'graphics.library',LIB_VER ) );
  51.     if GfxBase = NIL then Error( 'graphics.library');
  52.  
  53.     AslBase := OpenLibrary( 'asl.library',LIB_VER );        
  54.     if AslBase = NIL then Error( 'asl.library ');
  55.  
  56.     GadToolsBase := OpenLibrary( 'gadtools.library',LIB_VER );
  57.     if GadToolsBase = NIL then Error( 'gadtools.library ');
  58.  
  59.     UtilityBase := pUtilityBase( OpenLibrary( 'utility.library' , LIB_VER ));
  60.     if UtilityBase = NIL then Error( 'utility.library ' );
  61. end;
  62.  
  63. Procedure ExitFunction;
  64. begin
  65.     if GadToolsBase <> NIL then CloseLibrary( GadToolsBase );
  66.  
  67.     if AslBase <> NIL then CloseLibrary( AslBase );
  68.  
  69.     if GfxBase <> NIL then CloseLibrary( pLibrary( GfxBase ) );
  70.  
  71.     if IntuitionBase <> NIL then CloseLibrary( pLibrary( IntuitionBase ) );
  72.  
  73.     if UtilityBase <> NIL then CloseLibrary( pLibrary( UtilityBase ) );
  74. end;
  75.  
  76. (***************************************************************************)
  77. (*                  << INIT AND EXIT PROCEDURE  >>                         *)
  78. (***************************************************************************)
  79.  
  80. Procedure ExitHandler;
  81. begin
  82.     ExitProc := OldExitProc;
  83.     ExitFunction;
  84. end;
  85.  
  86. Procedure Initialize;
  87. begin
  88.     OldExitProc := ExitProc;
  89.     ExitProc := @ExitHandler;
  90.     InitFunction;
  91. end;
  92.  
  93. BEGIN
  94.     Initialize;
  95. END.